﻿
#Region "Imports Directive"

Imports System

#End Region

Namespace C4F.DevKit.Bluetooth

    Namespace FileTransferProfile

        ''' <summary>
        ''' EventArgs class to be used when an CreateFolder operation begins.
        ''' </summary>
        Public Class CreateFolderBeginEventArgs
            Inherits EventArgs

#Region "Private Members"

            ''' <summary>
            ''' The Location of the folder to be created on remote device.
            ''' </summary>
            Private remFolderPath As String

            ''' <summary>
            ''' Flag indicating whether non-exisitng parent directories are 
            ''' created.
            ''' </summary>
            Private m_createParentDirectories As Boolean

            ''' <summary>
            ''' The user-supplied state object supplied when the asynchronous 
            ''' operation was requested.
            ''' </summary>
            Private m_userState As Object

#End Region

#Region "Public Properties"

            ''' <summary>
            ''' Gets the location of the folder to be created on remote device.
            ''' </summary>
            Public ReadOnly Property RemoteFolderPath() As String

                Get
                    Return Me.remFolderPath
                End Get

            End Property

            ''' <summary>
            ''' Gets the flag indicating whether non-exisitng parent 
            ''' directories are created.
            ''' </summary>
            Public ReadOnly Property CreateParentDirectories() As Boolean

                Get
                    Return Me.m_createParentDirectories
                End Get

            End Property

            ''' <summary>
            ''' Gets the user-supplied state object supplied when 
            ''' the asynchronous operation was requested.
            ''' </summary>
            Public ReadOnly Property UserState() As Object

                Get
                    Return Me.m_userState
                End Get

            End Property

#End Region

#Region "Constructor"

            ''' <summary>
            ''' Initializes the CreateFolderBeginEventArgs object.
            ''' </summary>
            ''' <param name="remoteFolderPath">The location of the folder to be 
            '''  created on remote device.</param>
            ''' <param name="createParentDirectories">The flag indicating whether 
            ''' non-exisitng parent directories are created.</param>
            ''' <param name="userState">The user-supplied state object 
            ''' supplied when the asynchronous operation was requested.</param>
            Public Sub New(ByVal remoteFolderPath As String, _
                            ByVal createParentDirectories As Boolean, ByVal userState As Object)

                MyBase.New()
                Me.remFolderPath = remoteFolderPath
                Me.m_createParentDirectories = createParentDirectories
                Me.m_userState = userState

            End Sub

#End Region

        End Class
    End Namespace
End Namespace
